﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MS.Internal.Xml.XPath;
using vudu.ClasesDominio;
using vudu.Logica.Fachada;
using vudu.Presentacion.Contrato.VU_06_Gestionar_Profesores;
using vudu.Presentacion.Presentador.VU_06_Gestionar_Profesores;

namespace vudu.Presentacion.Vista.VU_06_Gestionar_Profesores
{
    public partial class ConsultarProfesorEscuela : System.Web.UI.Page, IContratoConsultarProfesorEscuela
    {
        private PresentadorConsultarProfesorEscuela _presentador;

        protected void Page_Load(object sender, EventArgs e)
        {
            string miRol = (string)Session["TipoRol"];
            if (miRol != "Escuela")

            Response.Redirect("../VU_15 Gestion de Acceso/InicioSistema.aspx");

            EnlaceLogico fachada = (EnlaceLogico)Session["Fachada"];
            Escuela esc = (Escuela)fachada.RolActual;
            _presentador = new PresentadorConsultarProfesorEscuela(this, fachada);
            uxNombreEscuela.Text = "Escuela: " + esc.NombreEscuela;
            //_presentador.ConsultaProfesor();

            
            Titulo1.Visible = true;
            OpcionDeBusqueda.Visible = true;

            // Label y DropDownList de la pagina para optar por una materia
            Titulo2.Visible = false;
            ListaMaterias.Visible = false;


            if (IsPostBack)
            {
                Titulo1.Visible = true;
                OpcionDeBusqueda.Visible = true;
                _presentador.ConsultaProfesor(1);
               // _presentador.CargarMaterias();
                string materiaSeleccionada = uxlistaMaterias.SelectedValue.ToString();
                _presentador.ConsultaProfesorPorMateria(materiaSeleccionada, 1);
            }

        }

        #region Implementation of IContratoConsultarProfesorEscuela

        public GridView ProfesoresEscuela
        {
            get { return uxGridviewProfesores; }
        }

        public GridView ProfesoresEscuelaMateria
        {
            get { return uxGridviewProfesoresMateria; }
        }

        //public DropDownList OpcionDeBusqueda
        //{
        //    get { return uxOpciontipoBusqueda; }
        //}

        //public RadioButtonList OpcionDeBusqueda2
        //{
        //    get { return uxTipoDeBusquedaRadioButton; }
        //}

        public RadioButtonList OpcionDeBusqueda
        {
            get { return uxTipoDeBusquedaRadioButton; }
        }

        public DropDownList ListaMaterias
        {
            get { return uxlistaMaterias; }
        }

        public Label Titulo1
        {
            get { return uxTitulo1; }
        }

        public Label Titulo2
        {
            get { return uxTitulo2; }
        }

        public Panel Consulta
        {
            get { return uxPanelPostBack; }
        }

        public Label MensajedeError
        {
            get { return uxLabelError; }
        }

        #endregion

        protected void VerUnProfesor(object sender, EventArgs e)
        {
            Profesor profesor = _presentador.BuscarProfesor();
            Session["miConsultaProfesor"] = profesor;
            Response.Redirect("ConsultarUnProfesor.aspx");
        }

        protected void VerUnProfesorMateria(object sender, EventArgs e)
        {
            Profesor profesor = _presentador.BuscarProfesorMateria();
            Session["miConsultaProfesor"] = profesor;
            Response.Redirect("ConsultarUnProfesor.aspx");
        }

        protected void Paginacion(object sender, GridViewPageEventArgs e)
        {
            uxGridviewProfesores.Visible = true;
            uxGridviewProfesores.PageIndex = e.NewPageIndex;
            uxGridviewProfesores.DataSource = uxGridviewProfesores.DataSource;
            uxGridviewProfesores.DataBind();
        }

        protected void uxlistaMaterias_SelectedIndexChanged( object sender, EventArgs e )
        {
            Titulo2.Visible = true;
            ListaMaterias.Visible = true;
            string materiaSeleccionada = uxlistaMaterias.SelectedValue.ToString();
            _presentador.ConsultaProfesorPorMateria( materiaSeleccionada,0 );
        }

        protected void uxTipoDeBusquedaRadioButton_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (uxTipoDeBusquedaRadioButton.SelectedValue == "1")
            {

                _presentador.ConsultaProfesor(0);
                Titulo2.Visible = false;
                ListaMaterias.Visible = false;

            }
            
            if (uxTipoDeBusquedaRadioButton.SelectedValue == "2")
            {

                Titulo2.Visible = true;
                ListaMaterias.Visible = true;
                _presentador.CargarMaterias();

            }
        }

        //protected void uxOpciontipoBusqueda_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    // Si desea consultar Todos los profesores de la escuela
        //    if (uxOpciontipoBusqueda.SelectedValue.ToString() == "1")
        //    {
        //        _presentador.ConsultaProfesor(0);
        //        Titulo2.Visible = false;
        //        ListaMaterias.Visible = false;
        //    }

        //    //Si desea consultar los Profesores de Una materia en particular
        //    if (uxOpciontipoBusqueda.SelectedValue.ToString() == "2")
        //    {
        //        Titulo2.Visible = true;
        //        ListaMaterias.Visible = true;
        //        _presentador.CargarMaterias();

        //    }
        //}


    }
    }